@import '~@/uni_modules/lime-style/index.scss';
@import '~@/uni_modules/lime-style/functions.scss';
$radio: #{$prefix}-radio;
$icon: #{$radio}__icon;


$radio-icon-size: create-var(radio-icon-size, 40rpx);
$radio-font-size: create-var(radio-font-size, 32rpx);

$radio-small-icon-size: create-var(radio-small-icon-size, 28rpx);
$radio-small-font-size: create-var(radio-small-font-size, 30rpx);

$radio-large-icon-size: create-var(radio-large-icon-size, 44rpx);
$radio-large-font-size: create-var(radio-large-font-size, 36rpx);

$radio-icon-border-width: create-var(radio-icon-border-width, 1rpx);
// $radio-icon-border-color: var(--l-radio-border-color, $border-color);
$radio-icon-border-radius: create-var(radio-icon-border-radius, 999rpx);

$radio-icon-bg-color: create-var(radio-icon-bg-color, white);
$radio-icon-border-color: create-var(radio-border-icon-color, $gray-5);
$radio-icon-disabled-color: create-var(radio-icon-disabled-color, $gray-5);
$radio-icon-disabled-bg-color: create-var(radio-icon-disabled-bg-color, $gray-1);
$radio-icon-checked-color: create-var(radio-icon-checked-color, $primary-color);


.#{$radio} {
	/* #ifndef UNI-APP-X */
	display: inline-flex;
	/* #endif */
	flex-direction: row;
	align-items: center;
	&__icon {
		position: relative;
		box-sizing: border-box;
		width: $radio-icon-size;
		height: $radio-icon-size;
		align-self: center;	
		transition-property: all;
		transition-duration: 200ms;
		transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
		/* #ifndef APP-ANDROID || APP-IOS */
		&:after {
			box-sizing: border-box;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			opacity: 0;
			content: "";
			transition-property: all;
			transition-duration: 200ms;
			transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
		}
		/* #endif */
		&--dot,&--circle {
			background-color: $radio-icon-bg-color;
			border: $radio-icon-border-width solid $radio-icon-border-color;
			border-radius: $radio-icon-border-radius;
		}
		&--circle {
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				top: 48%;
				left: 24%;
				display: table;
				width: divide(100%, 20) * 7;
				height: divide(100%, 20) * 12;
				border: calc(#{$radio-icon-size} / 7) solid transparent;
				border-top: 0;
				border-inline-start: 0;
				transform: rotate(45deg) scale(0) translate(-50%,-50%);
				content: "";
			}
			/* #endif */
		}
		&--circle#{&}--checked {
			background-color: $radio-icon-checked-color;
			border-color: $radio-icon-checked-color;
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				opacity: 1;
				transform: rotate(45deg) scale(1) translate(-50%,-50%);
				border-color: white;		
			}
			/* #endif */
		}
		
		&--dot {
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				background-color: white;
				border-radius: $radio-icon-border-radius;
				transform: scale(0) translate(-50%,-50%);
			}
			/* #endif */
		}
		&--dot#{&}--checked{
			background-color: $radio-icon-checked-color;
			/* #ifndef APP-ANDROID || APP-IOS */
			border-color: $radio-icon-checked-color;
			&:after{
				opacity: 1;
				width: 44%;
				height: 44%;
				transform: scale(1) translate(-50%,-50%);
			}
			/* #endif */
		}
		&--line {
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				top: 46%;
				left: 0%;
				inset-inline-start: 10%;
				display: table;
				width:  divide(100%, 14) * 7;
				height:  divide(100%, 14) * 12;
				border: calc(#{$radio-icon-size} / 7) solid transparent;
				border-top: 0;
				border-inline-start: 0;
				transform: rotate(45deg) scale(0) translate(-50%,-50%);
				content: "";
				transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
			}
			/* #endif */
		}
		&--line#{&}--checked{
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after{
				opacity: 1;
				transform: rotate(45deg) scale(1) translate(-50%,-50%);
				border-color: $radio-icon-checked-color;
			}
			/* #endif */
		}
		&--circle#{&}--disabled, &--dot#{&}--disabled {
			border-color: $radio-icon-disabled-color;
			background-color: $radio-icon-disabled-bg-color;
		}
		&--circle#{&}--disabled#{&}--checked, &--dot#{&}--disabled#{&}--checked {
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				border-color: $radio-icon-disabled-color;
			}
			/* #endif */
		}
		&--dot#{&}--disabled#{&}--checked {
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				background-color: $radio-icon-disabled-color;
			}
			/* #endif */
		}
		&--line#{&}--disabled#{&}--checked {
			/* #ifndef APP-ANDROID || APP-IOS */
			&:after {
				border-color: $radio-icon-disabled-color;
			}
			/* #endif */
		}
	}
	&__label {
		padding-left: $spacer-xs;
		// padding-right: $spacer-xs;
		font-size: $radio-font-size;
		color: $text-color-1;
		&--disabled {
			color: $radio-icon-disabled-color;
		}
	}
}

